package com.cv.platform.service.message;

import com.cv.platform.controller.platform.message.vo.conversation.CvConversationVisibleSaveReqVO;

/**
 * 消息会话可见业务层接口
 *
 * @author Charles_XDXD
 */
public interface CvConversationVisibleService {

    /**
     * 新增会话可见
     * 
     * @param reqVO 会话可见性保存请求对象
     */
    void saveConversationVisible(CvConversationVisibleSaveReqVO reqVO);

    /**
     * 查询会话是否可见
     *
     * @param conversationId 会话编号
     * @return 会话是否可见
     */
    boolean isVisible(Long conversationId);

    /**
     * 设置会话可见性
     *
     * @param conversationId 会话编号
     * @param visible        会话可见性
     */
    void setVisible(Long conversationId, boolean visible);

    /**
     * 设置会话可见性
     *
     * @param conversationId 会话编号
     * @param userId         用户编号
     * @param visible        会话可见性
     */
    void setVisible(Long conversationId, Long userId, boolean visible);

}
